package com.zkas.canalefectivo.datasyncro;

import java.util.HashMap;

public class Bill {
	
	static final String KEY_ITEM = "Factura"; // parent node
	static final String KEY_ID = "Iden";
	static final String KEY_NAME = "Entidad";
	static final String KEY_CASH = "Importe";
	static final String KEY_SERV = "Servicio";
	static final String KEY_DATE = "Vencimiento";
	
	
	//private variables
	int _id;
	
	String _EMPRESA;
	String _SERVICIO;
	String _IDENTIF;
	String _FECHA1;
	String _MONTO1;
	String _FECHA2;
	String _MONTO2;
	String _ENTIDAD;
	String _CONVENIO;
	String _ESTADO;
	String _FECHAPAGO;
	/*
	String _name;
	String _phone_number;
	*/
	
	// Empty constructor
	public Bill(){
		
	}
	// constructor
	// 
	public Bill(String factura){
		iniFactura(factura, "D");
	}
	public Bill(String factura, String estado){
		iniFactura(factura, estado);		
	}
	public Bill(HashMap<String, String> factura){
		iniFactura(factura);
	}	
	
	// Establece correspondencia entre el nombre dl campo y el index
	public String getFieldData(int i)
	{	
		switch(i)
		{
		case 0:
			return getEmpresa();
		case 1:
			return getServicio();
		case 2:			
			return getIdentif();
		case 3:
			return getFecha1();
		case 4:
			return getMonto1();
		case 5:
			return getFecha2();
		case 6:
			return getMonto2();
		case 7:
			return getEntidad();
		case 8:
			return getConvenio();
		case 9:
			return getEstado();
		case 10:
			return getFechaPago();
		}
		return null;
	}
	
	private void iniFactura(String factura, String estado)
	{
		this._EMPRESA = factura.substring(0,20);
		this._SERVICIO = factura.substring(20,40);
		this._IDENTIF= factura.substring(40,60);
		this._FECHA1= factura.substring(60,68);
		this._MONTO1= factura.substring(68,78);
		this._FECHA2= factura.substring(78,86);
		this._MONTO2= factura.substring(86,96);
		this._ENTIDAD= factura.substring(96,100);
		this._CONVENIO= factura.substring(100,104);
		this._ESTADO= estado;
		this._FECHAPAGO= ""; 
	}
	
	private void iniFactura(HashMap<String, String> factura)
	{
		/*
		static final String KEY_ITEM = "Factura"; // parent node
		static final String KEY_ID = "Iden";
		static final String KEY_NAME = "Entidad";
		static final String KEY_CASH = "Importe";
		static final String KEY_SERV = "Servicio";
		static final String KEY_DATE = "Vencimiento";
		*/
		
		this._EMPRESA = factura.get(KEY_NAME);
		this._SERVICIO = factura.get(KEY_SERV);
		this._IDENTIF= factura.get(KEY_ID);
		this._FECHA1= factura.get(KEY_DATE);
		this._MONTO1= factura.get(KEY_CASH);
		//this._FECHA2= factura.substring(78,86);
		//this._MONTO2= factura.substring(86,96);
		//this._ENTIDAD= factura.substring(96,100);
		//this._CONVENIO= factura.substring(100,104);
		this._ESTADO= "D";
		this._FECHAPAGO= " ";
		 
	}
	// setting ID
	public String getEmpresa(){
		return this._EMPRESA;
	}
	public String getServicio(){
		return this._SERVICIO;
	}
	public String getIdentif(){
		return this._IDENTIF;
	}
	public String getFecha1(){
		return this._FECHA1;
	}
	public String getMonto1(){
		return this._MONTO1;
	}
	public String getFecha2(){
		return this._FECHA2;
	}
	public String getMonto2(){
		return this._MONTO2;
	}
	public String getEntidad(){
		return this._ENTIDAD;
	}
	public String getConvenio(){
		return this._CONVENIO;
	}
	public String getEstado(){
		return this._ESTADO;
	}
	public String getFechaPago(){
		return this._FECHAPAGO;
	}
	
	// setting name
	// setting ID
	public void setEmpresa(String val){
		this._EMPRESA = val;
	}
	public void setServicio(String val){
		 this._SERVICIO = val;
	}
	public void setIdentif(String val){
		 this._IDENTIF = val;
	}
	public void setFecha1(String val){
		 this._FECHA1 = val;
	}
	public void setMonto1(String val){
		 this._MONTO1 = val;
	}
	public void setFecha2(String val){
		 this._FECHA2 = val;
	}
	public void setMonto2(String val){
		 this._MONTO2 = val;
	}
	public void setEntidad(String val){
		 this._ENTIDAD = val;
	}
	public void setConvenio(String val){
		 this._CONVENIO = val;
	}
	public void setEstado(String val){
		 this._ESTADO = val;
	}
	public void setFechaPago(String val){
		 this._FECHAPAGO = val;
	}		
}
